package vista;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;

import javabean.JPTeclado;
import javabean.JPanelImagen;
import javabean.JPCronometro;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;



/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class JFPartida extends javax.swing.JFrame {
	private JPanel pnlPartida;
	private JPanelImagen pnlGrafico;
	private JPTeclado pnlTeclado;
	private JLabel lblFrases;
	private JPCronometro pnlCronometro;
	private JLabel lblAhorcado;
	private JLabel lblIntentos;
	private JPCronometro lblCronometro;

	
	public JFPartida() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				pnlPartida = new JPanel();
				getContentPane().add(pnlPartida, "Center");
				pnlPartida.setLayout(null);
				pnlPartida.setBorder(BorderFactory.createTitledBorder(""));
				pnlPartida.setBounds(5, 2, 1077, 497);
				{
					pnlTeclado = new JPTeclado();
					pnlPartida.add(pnlTeclado);
					pnlTeclado.setBounds(28, 332, 641, 115);
					pnlTeclado.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));	
				}
				{
					lblCronometro = new JPCronometro();
					pnlPartida.add(lblCronometro);
					lblCronometro.setBounds(40, 46, 135, 51);
					lblCronometro.setFont(new java.awt.Font("Purisa",1,24));
				}
				{
					lblIntentos = new JLabel();
					pnlPartida.add(lblIntentos);
					lblIntentos.setBounds(704, 17, 227, 40);
					lblIntentos.setBorder(BorderFactory.createEtchedBorder(BevelBorder.LOWERED));
					lblIntentos.setFont(new java.awt.Font("Purisa",0,14));
				}
				{
					lblAhorcado = new JLabel();
					pnlPartida.add(lblAhorcado);
					lblAhorcado.setText("    EL AHORCADO...");
					lblAhorcado.setBounds(28, 115, 641, 89);
					lblAhorcado.setFont(new java.awt.Font("Purisa",0,48));
				}
				
				{
					lblFrases = new JLabel();
					pnlPartida.add(lblFrases);
					lblFrases.setBounds(28, 239, 641, 76);
					lblFrases.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
					lblFrases.setFont(new java.awt.Font("Purisa",0,16));
				}
				{
					pnlGrafico = new JPanelImagen();
					pnlPartida.add(pnlGrafico);
					pnlGrafico.setBounds(704, 109, 301, 305);
					pnlGrafico.setPreferredSize(new java.awt.Dimension(301,305));
				}
			}

			pack();
			this.setSize(1092, 543);
		} catch (Exception e) {
		
			e.printStackTrace();
		}
	}

	public JPCronometro getPnlCronometro() {
		return pnlCronometro;
	}

	public void setPnlCronometro(JPCronometro pnlCronometro) {
	}

	public JLabel getLblntentos() {
		return lblIntentos;
	}

	public void setLblntentos(JLabel lblntentos) {
		this.lblIntentos = lblntentos;
	}

	public JLabel getLblFrases() {
		return lblFrases;
	}

	public void setLblFrases(JLabel lblFases) {
		this.lblFrases = lblFases;
	}

	public JPCronometro getLblCronometro() {
		return lblCronometro;
	}

	public void setLblCronometro(JPCronometro lblCronometro) {
		this.lblCronometro = lblCronometro;
	}

	public JPanel getPnlTeclado() {
		return pnlTeclado;
	}

	public void setPnlTeclado(JPTeclado pnlTeclado) {
		this.pnlTeclado = pnlTeclado;
	}

	
	public void addListener(ActionListener actionListener){
		
		pnlTeclado.getBtnA().addActionListener(actionListener);
		pnlTeclado.getBtnB().addActionListener(actionListener);
		pnlTeclado.getBtnC().addActionListener(actionListener);
		pnlTeclado.getBtnD().addActionListener(actionListener);
		pnlTeclado.getBtnE().addActionListener(actionListener);
		pnlTeclado.getBtnF().addActionListener(actionListener);
		pnlTeclado.getBtnG().addActionListener(actionListener);
		pnlTeclado.getBtnH().addActionListener(actionListener);
		pnlTeclado.getBtnI().addActionListener(actionListener);
		pnlTeclado.getBtnJ().addActionListener(actionListener);
		pnlTeclado.getBtnK().addActionListener(actionListener);
		pnlTeclado.getBtnL().addActionListener(actionListener);
		pnlTeclado.getBtnM().addActionListener(actionListener);
		pnlTeclado.getBtnN().addActionListener(actionListener);
		pnlTeclado.getBntÑ().addActionListener(actionListener);
		pnlTeclado.getBtnO().addActionListener(actionListener);
		pnlTeclado.getBtnP().addActionListener(actionListener);
		pnlTeclado.getBtnQ().addActionListener(actionListener);
		pnlTeclado.getBtnR().addActionListener(actionListener);
		pnlTeclado.getBtnS().addActionListener(actionListener);
		pnlTeclado.getBtnT().addActionListener(actionListener);
		pnlTeclado.getBtnU().addActionListener(actionListener);
		pnlTeclado.getBtnV().addActionListener(actionListener);
		pnlTeclado.getBtnW().addActionListener(actionListener);
		pnlTeclado.getBtnX().addActionListener(actionListener);
		pnlTeclado.getBtnY().addActionListener(actionListener);
		pnlTeclado.getBtnZ().addActionListener(actionListener);
	}
	
	public void ImprimirFrase(char[] arre){
		lblFrases.setText(String.valueOf(arre));
	}
	
	
	public void ImprimirIntentos(int intento){
		lblIntentos.setText("Intentos #:"+ intento);
	}
	public void mostrarMensaje(String mensaje)
	{
		JOptionPane.showMessageDialog(this, mensaje);
	}

	public void PanelImagenes(int intentos, String ruta){
		pnlGrafico.removeAll();
		pnlGrafico = new JPanelImagen();
		pnlPartida.add(pnlGrafico);
		pnlGrafico.setBounds(704, 109, 301, 305);
		getContentPane().add(pnlGrafico,BorderLayout.CENTER);
		pnlGrafico.setRutaImagen(ruta);
		pnlGrafico.repaint();
		

		
	}
}